:root {
  /* 基础排版 */
  font-family: system-ui, Avenir, Helvetica, Arial, sans-serif;
  line-height: 1.5;
  font-weight: 400;
  font-synthesis: none;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;

  /* 主题色与变量（医疗绿为主，可切换科技蓝） */
  --brand-primary: #2cb67d; /* 医疗绿 */
  --brand-secondary: #3a86ff; /* 科技蓝（辅助） */

  --bg-soft: #f8f9fa;
  --bg-muted: #f4f6f8;
  --text-primary: #1f2937;
  --text-secondary: #4b5563;

  --radius-base: 8px;
  --shadow-card: 0 8px 24px rgba(0, 0, 0, 0.06);
  --shadow-hover: 0 12px 28px rgba(0, 0, 0, 0.08);

  /* Element Plus 主题变量 */
  --el-color-primary: var(--brand-primary);
  --el-border-radius-base: var(--radius-base);
}

html, body, #app {
  height: 100%;
}

body {
  margin: 0;
  min-width: 320px;
  background-color: var(--bg-soft);
  color: var(--text-primary);
}

a {
  font-weight: 500;
  color: var(--brand-secondary);
  text-decoration: none;
}
a:hover { color: #2f71e3; }

/* 按钮（轻微缩放动效 + 主题色 hover） */
.el-button {
  border-radius: var(--radius-base);
  transition: transform 0.08s ease, box-shadow 0.2s ease, filter 0.2s ease;
}
.el-button:active { transform: scale(0.97); }
.el-button--primary {
  background-color: var(--el-color-primary);
  border-color: var(--el-color-primary);
}
.el-button--primary:hover { filter: brightness(1.05); }

/* 表单输入（圆角 + focus 高亮主题色） */
.el-input__wrapper { border-radius: var(--radius-base); }
.el-input__wrapper:focus-within { box-shadow: 0 0 0 1.5px var(--el-color-primary) inset; }

/* 卡片（去边框 + 柔和阴影） */
.el-card {
  border: none;
  border-radius: var(--radius-base);
  box-shadow: var(--shadow-card);
  background-color: #fff;
}
.el-card:hover { box-shadow: var(--shadow-hover); }

/* 弹窗（圆角 + 阴影 + 简洁标题栏） */
.el-dialog { border-radius: var(--radius-base); box-shadow: var(--shadow-card); }
.el-dialog__header { border-bottom: 1px solid #eef2f7; }

/* 表格（条纹 + hover 高亮） */
.el-table { --row-hover-bg: rgba(44, 182, 125, 0.08); background-color: #fff; }
.el-table .el-table__row:nth-child(odd) > td { background-color: #fbfcfd; }
.el-table .el-table__row:hover > td { background-color: var(--row-hover-bg); }

/* 页面工具条（标题 + 面包屑） */
.page-bar { display: flex; align-items: center; justify-content: space-between; margin-bottom: 12px; }
.page-title { font-size: 18px; font-weight: 600; color: var(--text-primary); }

/* 路由淡入淡出 */
.fade-enter-active, .fade-leave-active { transition: opacity 0.18s ease; }
.fade-enter-from, .fade-leave-to { opacity: 0; }
